Share FSST symbol table state between executed variants of arrays.#8222
Conversation
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Polar Signals Profiling ResultsLatest Run
Previous Runs (2)
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingVortex (geomean): 0.992x ➖ How to read Verdict and Engines
datafusion / vortex-file-compressed (0.992x ➖, 0↑ 0↓)
No file size changes detected. |
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.992x ➖, 1↑ 0↓)
datafusion / vortex-compact (0.983x ➖, 1↑ 0↓)
datafusion / parquet (0.990x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.992x ➖, 1↑ 0↓)
duckdb / vortex-compact (1.015x ➖, 0↑ 1↓)
duckdb / parquet (0.991x ➖, 0↑ 0↓)
File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
Totals:
Full attributed analysis
|
Merging this PR will improve performance by 52.47%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | chunked_bool_canonical_into[(1000, 10)] |
30.6 µs | 45.5 µs | -32.83% |
| ❌ | Simulation | chunked_varbinview_canonical_into[(1000, 10)] |
161.6 µs | 197.8 µs | -18.29% |
| ❌ | Simulation | chunked_varbinview_into_canonical[(1000, 10)] |
176.2 µs | 212.4 µs | -17.02% |
| ❌ | Simulation | bitwise_not_vortex_buffer_mut[128] |
246.1 ns | 275.3 ns | -10.6% |
| ⚡ | Simulation | pushdown_compare[(1000, 16, 4)] |
344.8 µs | 141.1 µs | ×2.4 |
| ⚡ | Simulation | pushdown_compare[(1000, 64, 4)] |
345.8 µs | 141.5 µs | ×2.4 |
| ⚡ | Simulation | pushdown_compare[(1000, 4, 4)] |
344.8 µs | 141.3 µs | ×2.4 |
| ⚡ | Simulation | pushdown_compare[(1000, 4, 8)] |
349.6 µs | 145.2 µs | ×2.4 |
| ⚡ | Simulation | pushdown_compare[(1000, 64, 8)] |
351.7 µs | 147.2 µs | ×2.4 |
| ⚡ | Simulation | pushdown_compare[(1000, 16, 8)] |
357.3 µs | 153.1 µs | ×2.3 |
| ⚡ | Simulation | pushdown_compare[(10000, 16, 4)] |
418.2 µs | 221.3 µs | +88.98% |
| ⚡ | Simulation | pushdown_compare[(10000, 64, 4)] |
417.1 µs | 221 µs | +88.77% |
| ⚡ | Simulation | pushdown_compare[(10000, 4, 4)] |
418.1 µs | 221.6 µs | +88.66% |
| ⚡ | Simulation | pushdown_compare[(10000, 4, 8)] |
423.5 µs | 227.7 µs | +85.95% |
| ⚡ | Simulation | pushdown_compare[(10000, 64, 8)] |
424.2 µs | 228.3 µs | +85.84% |
| ⚡ | Simulation | pushdown_compare[(10000, 16, 8)] |
459.7 µs | 263.6 µs | +74.4% |
| ⚡ | Simulation | baseline_eq[4, 65536] |
237.9 µs | 185.1 µs | +28.52% |
| ⚡ | Simulation | baseline_lt[16, 65536] |
275.5 µs | 217.6 µs | +26.61% |
| ⚡ | Simulation | baseline_lt[4, 65536] |
253.2 µs | 200.9 µs | +25.99% |
| ⚡ | Simulation | eq_pushdown_low_match |
1,152.4 µs | 955.5 µs | +20.6% |
| ... | ... | ... | ... | ... | ... |
ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing adamg/bump-fsst (afd4751) with develop (84a4a3f)
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.994x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.986x ➖, 0↑ 0↓)
datafusion / parquet (0.991x ➖, 0↑ 0↓)
datafusion / arrow (0.982x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.001x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.999x ➖, 0↑ 1↓)
duckdb / parquet (0.991x ➖, 2↑ 1↓)
duckdb / duckdb (1.000x ➖, 0↑ 0↓)
File Size Changes (10 files changed, -0.1% overall, 5↑ 5↓)
Totals:
Full attributed analysis
|
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.976x ➖, 2↑ 0↓)
datafusion / vortex-compact (0.984x ➖, 2↑ 4↓)
datafusion / parquet (0.984x ➖, 3↑ 0↓)
duckdb / vortex-file-compressed (0.974x ➖, 3↑ 0↓)
duckdb / vortex-compact (0.973x ➖, 1↑ 0↓)
duckdb / parquet (0.987x ➖, 0↑ 0↓)
duckdb / duckdb (0.990x ➖, 3↑ 1↓)
File Size Changes (7 files changed, +0.0% overall, 4↑ 3↓)
Totals:
Full attributed analysis
|
Benchmarks: FineWeb S3Verdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.936x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.031x ➖, 0↑ 1↓)
datafusion / parquet (0.934x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.960x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.009x ➖, 0↑ 0↓)
duckdb / parquet (0.972x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (0.969x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.997x ➖, 0↑ 0↓)
duckdb / parquet (0.964x ➖, 0↑ 0↓)
File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
Totals:
Full attributed analysis
|
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.044x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.015x ➖, 0↑ 0↓)
datafusion / parquet (1.045x ➖, 0↑ 1↓)
datafusion / arrow (1.034x ➖, 0↑ 2↓)
duckdb / vortex-file-compressed (1.001x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.004x ➖, 0↑ 0↓)
duckdb / parquet (1.007x ➖, 0↑ 0↓)
duckdb / duckdb (1.002x ➖, 0↑ 0↓)
File Size Changes (26 files changed, -0.0% overall, 10↑ 16↓)
Totals:
Full attributed analysis
|
Benchmarks: Clickbench on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.012x ➖, 0↑ 2↓)
datafusion / parquet (1.004x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.011x ➖, 1↑ 4↓)
duckdb / parquet (0.996x ➖, 0↑ 0↓)
duckdb / duckdb (1.010x ➖, 0↑ 0↓)
File Size Changes (103 files changed, -0.0% overall, 57↑ 46↓)
Totals:
Full attributed analysis
|
Benchmarks: Random AccessVortex (geomean): 0.846x ✅ How to read Verdict and Engines
unknown / unknown (0.901x ➖, 20↑ 0↓)
|
Benchmarks: Appian on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.185x ❌, 0↑ 7↓)
datafusion / parquet (1.152x ❌, 0↑ 6↓)
duckdb / vortex-file-compressed (1.132x ❌, 0↑ 5↓)
duckdb / parquet (1.134x ❌, 0↑ 5↓)
duckdb / duckdb (1.115x ❌, 0↑ 5↓)
File Size Changes (4 files changed, -0.1% overall, 0↑ 4↓)
Totals:
Full attributed analysis
|
Benchmarks: TPC-H SF=1 on S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.934x ➖, 2↑ 1↓)
datafusion / vortex-compact (0.859x ➖, 4↑ 0↓)
datafusion / parquet (0.961x ➖, 1↑ 2↓)
duckdb / vortex-file-compressed (0.913x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.023x ➖, 0↑ 0↓)
duckdb / parquet (0.863x ➖, 1↑ 0↓)
Full attributed analysis
|
Benchmarks: CompressionVortex (geomean): 1.004x ➖ How to read Verdict and Engines
unknown / unknown (1.026x ➖, 2↑ 10↓)
|
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.919x ➖, 2↑ 0↓)
datafusion / vortex-compact (0.974x ➖, 3↑ 2↓)
datafusion / parquet (0.883x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.082x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.075x ➖, 0↑ 0↓)
duckdb / parquet (1.047x ➖, 0↑ 0↓)
Full attributed analysis
|
joseph-isaacs
left a comment
There was a problem hiding this comment.
shall we make a symbols struct?
Summary
This PR has two changes:
Compressor::rebuild_from.FSSTSymbolTabletype.